# -*- mode: python -*-

Import("env")

env.Library('logger',
            [
             'console.cpp',
             'log_manager.cpp',
             'log_severity.cpp',
             'log_component.cpp',
             'log_component_settings.cpp',
             'logger.cpp',
             'logstream_builder.cpp',
             'message_event_utf8_encoder.cpp',
             'message_log_domain.cpp',
             'component_message_log_domain.cpp',
             'ramlog.cpp',
             'rotatable_file_manager.cpp',
             'rotatable_file_writer.cpp',
             ],
            LIBDEPS=['$BUILD_DIR/mongo/base/base',
                     '$BUILD_DIR/mongo/util/concurrency/thread_name'])

env.Library('parse_log_component_settings',
            ['parse_log_component_settings.cpp'],
            LIBDEPS=['logger', '$BUILD_DIR/mongo/bson'])

# writes multi-byte sequences to console
# to support manual testing of console stream  under Windows
# output should be visually verified under Command Prompt or Power Shell
env.Program('console_test', 'console_test.cpp',
                LIBDEPS=['logger',
                         '$BUILD_DIR/mongo/unittest/unittest_crutch',
                         '$BUILD_DIR/mongo/unittest/unittest_main'])

env.CppUnitTest('log_test', 'log_test.cpp',
                LIBDEPS=['logger', '$BUILD_DIR/mongo/foundation'])

env.CppUnitTest('log_function_test', 'log_function_test.cpp',
                LIBDEPS=['logger', '$BUILD_DIR/mongo/foundation'])

env.CppUnitTest('rotatable_file_writer_test',
                'rotatable_file_writer_test.cpp',
                LIBDEPS=['logger'])

env.CppUnitTest(target='parse_log_component_settings_test',
                source='parse_log_component_settings_test.cpp',
                LIBDEPS=['logger', 'parse_log_component_settings'])
